package com.java.day14;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;

/**
 * 1.把文本文件中的IP地址进行去重，然后打印出来
 * 2.统计一个文本文件中IP地址的出现的次数(IP地址格式为192.168.10.39，每行只存放一个IP地址)
 * 3.查询IP地址出现次数最多的是哪个IP
 * 4.查询IP地址出现次数为前3的是哪几个IP,其访问次数为多少次
 */
public class Ip {
    public static void main(String[] args) throws FileNotFoundException {
        //文件地址
        String d = "D:\\IP.txt";

        System.out.println(remove(d));

        System.out.println(statistics(d));

    }

    //1.把文本文件中的IP地址进行去重，然后打印出来
    public static HashSet<String> remove(String s) throws FileNotFoundException {
        File file = new File(s);
        Scanner scanner = new Scanner(file);
        HashSet<String> set = new HashSet<>();
        while (scanner.hasNextLine()){
            set.add(scanner.nextLine());
        }
        return set;
    }

    //2.统计一个文本文件中IP地址的出现的次数(IP地址格式为192.168.10.39，每行只存放一个IP地址)
    public static HashMap<String, Integer> statistics(String s) throws FileNotFoundException {
        File file = new File(s);
        Scanner scanner = new Scanner(file);
        HashMap<String, Integer> map = new HashMap<>();
        while (scanner.hasNextLine()) {
            String k = scanner.nextLine();
            //出现次数
            int count = 1;
            if (map.containsKey(k)) {
                count = map.get(k)+1;
                map.put(k, count);
            }else{
                map.put(k, count);
            }
        }
        return map;
    }

    //3.查询IP地址出现次数最多的是哪个IP
//    public static String max(String s){
//
//    }

    //4.查询IP地址出现次数为前3的是哪几个IP,其访问次数为多少次
//    public static HashMap<String, Integer> mostThree(String s) throws FileNotFoundException {
//        File file = new File(s);
//        Scanner scanner = new Scanner(file);
//
//
//        HashMap<String, Integer> map = new HashMap<>();
//        while(scanner.hasNextLine()){
//            String
//        }
//    }
}


